package com.example.springbootbabyu;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 功能
 * 作者：梦天
 * 日期：2025/6/19 9:22
 */
@SpringBootTest
public class test {
    @Test
    public void test() {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("apple");
        list.add("banana");
        list.add("grape");
        list.add("grape");
        for(int i = 0;i < list.size();i++){
            for(int j = i + 1;j < list.size();j++){
                if(list.get(i).equals(list.get(j))){
                    list.remove(j);
                    j--;
                }
            }
        }
        for(String s : list){
            System.out.println(s);
        }
    }
    @Test
    public void test2() {
        Map<String, Integer> map = Map.of("john", 35, "Bob", 40, "Alice", 30, "Tom", 45, "Jerry", 50);
        String[] ans = new String[3];
        for(int i = 0;i < 3;i++){
            int max = 0;
            String name = "";
            for(Map.Entry<String, Integer> entry : map.entrySet()){
                if(entry.getValue() > max){
                    max = entry.getValue();
                    name = entry.getKey();
                }
            }
            ans[i] = name;
            map.remove(name);
        }
    }
    @Test
    public void test3() {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("apple");
        list.add("banana");
        list.add("grape");
        list.add("grape");
        Map<String, Integer> map = new HashMap<>();
        for(String s : list){
            if (map.containsKey(s)){
                map.put(s, map.get(s) + 1);
            }else{
                map.put(s, 1);
            }
        }
        System.out.println(map);
    }
    @Test
    public void test4() {
        List<String> list = new ArrayList<>();
        list.add("123");
        list.add("abc");
        list.add("456");
        list.add("def");
        list.add("789");
        list.add("ghi");
        String[] nums = new String[list.size()];
        String[] strs = new String[list.size()];
        for(String s : list){
            int i = 0;
            int j = 0;
            for(i = 0;i < s.length();i++){
                if(s.charAt(i) < '0' || s.charAt(i) > '9'){
                    break;
                }
            }
            for(j = i;j < s.length();j++){
                if(s.charAt(j) < '0' || s.charAt(j) > '9'){
                    break;
                }
            }
            if (i == s.length()){
                nums[list.indexOf(s)] = s;
            }
            if (j == s.length()){
                strs[list.indexOf(s)] = s;
            }
        }
        System.out.println("数字列表：" + nums);
        System.out.println("字符串列表：" + strs);
    }
    @Test
    public void test5() {
        Map<String, List<Integer>> map = new HashMap<>();
        List<Integer> list1 = new ArrayList<>();
        list1.add(85);
        list1.add(90);
        list1.add(95);
        List<Integer> list2 = new ArrayList<>();
        list2.add(80);
        list2.add(85);
        list2.add(90);
        List<Integer> list3 = new ArrayList<>();
        list3.add(95);
        list3.add(100);
        list3.add(105);
        map.put("John", list1);
        map.put("Bob", list2);
        map.put("Alice", list3);
        Map<String, Integer> result = new HashMap<>();
        for(Map.Entry<String, List<Integer>> entry : map.entrySet()){
            int sum = 0;
            for(int i : entry.getValue()){
                sum += i;
            }
            result.put(entry.getKey(), sum / entry.getValue().size());
        }
        System.out.println(result);
    }
    @Test
    public void test6() {
        List<String> list = new ArrayList<>();
        list.add("John Doe,john@doe.com");
        list.add("Bob Smith,bob@smith.com");
        list.add("Alice Williams,alice@williams.com");
        Map<String, String> result = new HashMap<>();
        for(String s : list){
            String[] arr = s.split(",");
            result.put(arr[1].trim(), arr[0].trim());
        }
        System.out.println(result);
    }
}
